go/types.Pointer.base (field)
41 uses
go/types (current package)
builtins.go#L650: x.typ = &Pointer{base: T}
builtins.go#L857: x.typ = NewSlice(ptr.base)
builtins.go#L1106: if a, _ := under(p.base).(*Array); a != nil {
call.go#L758: x.typ = x.typ.(*Pointer).base
call.go#L938: typ = &Pointer{base: typ}
conversions.go#L164: if IdenticalIgnoreTags(under(V.base), under(T.base)) && !isTypeParam(V.base) && !isTypeParam(T.base) {
expr.go#L146: x.typ = &Pointer{base: x.typ}
expr.go#L1122: x.typ = &Pointer{base: x.typ}
expr.go#L1131: if base != nil && !Identical(p.base, base) {
expr.go#L1135: base = p.base
index.go#L77: if typ, _ := under(typ.base).(*Array); typ != nil {
index.go#L128: if t, _ := under(t.base).(*Array); t != nil {
index.go#L299: if u, _ := under(u.base).(*Array); u != nil {
infer.go#L588: return w.isParameterized(t.base)
infer.go#L744: w.typ(t.base)
instantiate.go#L242: if p, _ := Vu.(*Pointer); p != nil && !isValid(under(p.base)) {
lookup.go#L556: return p != nil && IsInterface(p.base)
lookup.go#L562: if p, _ := under(T).(*Pointer); isTypeParam(p.base) {
lookup.go#L621: if p.base == nil {
lookup.go#L627: return p.base, true
lookup.go#L636: if _, ok := under(p.base).(*Struct); ok {
lookup.go#L637: return p.base
pointer.go#L12: base Type // element type
pointer.go#L16: func NewPointer(elem Type) *Pointer { return &Pointer{base: elem} }
pointer.go#L19: func (p *Pointer) Elem() Type { return p.base }
predicates.go#L311: return c.identical(x.base, y.base, p)
signature.go#L338: t = p.base
signature.go#L366: typ = ptr.base
subst.go#L143: base := subst.typ(t.base)
subst.go#L144: if base != t.base {
subst.go#L145: return &Pointer{base: base}
typestring.go#L189: w.typ(t.base)
typexpr.go#L336: typ.base = Typ[Invalid] // avoid nil base in invalid recursive type declaration
typexpr.go#L338: typ.base = check.varType(e.X)
typexpr.go#L343: if !isValid(typ.base) {
unify.go#L627: return u.nify(x.base, y.base, emode, p)